<?php

namespace IUTINFO\ConnexionBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Session\Session;

class ConnexionController extends Controller
{
	public function loginAction()
	{
		$onglet_ouvert = 'accueil';
		
		$request = Request::createFromGlobals();
		
		$login = $request->request->get('login');
		$password = $request->request->get('password');
		
// 		if($password != "" && $login != "")
// 		{
// 			$ldapCo = @ldap_connect("srv-laurel.iut-acy.local", 389); // préparation de la connexion au LDAP
			
// 			if($ldapCo)
// 			{
// 				$ldapB = @ldap_bind($ldapCo, $login.'@iut-acy', $password); // connexion au LDAP avec l'identifiant et mdp de l'utilisateur
				
// 				if($ldapB) // si la connexion s'est bien passée
// 				{
// 					ldap_close($ldapCo); // on se deconnecte du LDAP
					
// 					// On regarde si c'est un etudiant
// 					$repository = $this	->getDoctrine()
// 										->getManager('db_etudiant')
// 										->getRepository('IUTINFOEtudiantsBundle:Etudiants');
// 					$etudiant = $repository->findByLogin($login);
						
// 					if($etudiant != null) // Si c'est un etudiant
// 					{
// 						$this->container->get('request')->getSession()->set('utilisateur', $etudiant);
// 						$this->container->get('request')->getSession()->set('utilisateur_role', 'etudiant');
					
// 						return $this->render('IUTINFOActionsComBundle:ActionsCom:accueil.html.twig', array(
// 								'onglet_ouvert'	=> $onglet_ouvert,
// 						));
// 					}
// 					else // Si on regarde chez les enseignants
// 					{
// 						// On regarde chez les profs
// 						$repository = $this	->getDoctrine()
// 											->getManager('db_adc')
// 											->getRepository('IUTINFOActionsComBundle:Enseignant');
// 						$enseignant = $repository->findByLogin($login);
					
// 						if($enseignant != null)
// 						{
// 							$this->container->get('request')->getSession()->set('utilisateur', $enseignant);
// 							$this->container->get('request')->getSession()->set('utilisateur_role', 'enseignant');
								
// 							return $this->render('IUTINFOActionsComBundle:ActionsCom:accueil.html.twig', array(
// 									'onglet_ouvert'	=> $onglet_ouvert,
// 							));
// 						}
// 					}
// 				}
// 			}
// 			else
// 			{
// 				$error = "Erreur lors de la connexion, veuillez contacter l'administrateur.";
					
// 				return $this->render('IUTINFOActionsComBundle:ActionsCom:accueil.html.twig', array(
// 						'onglet_ouvert'	=> $onglet_ouvert,
// 						'error'			=> $error,
// 				));
// 			}
// 		}
		
// 		// Si on arrive ici, les identifiants sont forcement incorrecte
// 		$error = "Les identifiants sont incorrectes.";
		
// 		return $this->render('IUTINFOActionsComBundle:ActionsCom:accueil.html.twig', array(
// 				'onglet_ouvert'	=> $onglet_ouvert,
// 				'error'			=> $error,
// 		));
		
		/*-----------------------------------------------------------------*/
		
		if($password == ""  && $login != "")
		{
			$repository = $this	->getDoctrine()
								->getManager('db_etudiant')
								->getRepository('IUTINFOEtudiantsBundle:Etudiants');
			$etudiant = $repository->findByLogin($login);
			
			if($etudiant != null)
			{			
				$this->container->get('request')->getSession()->set('utilisateur', $etudiant);
				$this->container->get('request')->getSession()->set('utilisateur_role', 'etudiant');
				
				return $this->render('IUTINFOActionsComBundle:ActionsCom:accueil.html.twig', array(
						'onglet_ouvert'	=> $onglet_ouvert,
				));
			}
			else
			{
				// On regarde chez les profs
				$repository = $this	->getDoctrine()
									->getManager('db_adc')
									->getRepository('IUTINFOActionsComBundle:Enseignant');
				$enseignant = $repository->findByLogin($login);
				
				if($enseignant != null)
				{
					$this->container->get('request')->getSession()->set('utilisateur', $enseignant);
					$this->container->get('request')->getSession()->set('utilisateur_role', 'enseignant');
					
					return $this->render('IUTINFOActionsComBundle:ActionsCom:accueil.html.twig', array(
							'onglet_ouvert'	=> $onglet_ouvert,
					));
				}
			}
		}
		
		$error = "Les identifiants sont incorrectes.";
			
		return $this->render('IUTINFOActionsComBundle:ActionsCom:accueil.html.twig', array(
				'onglet_ouvert'	=> $onglet_ouvert,
				'error'			=> $error,
		));
	}
	
	public function logoutAction()
	{
		$onglet_ouvert = 'accueil';
		
		$this->container->get('request')->getSession()->set('utilisateur', null);
		$this->container->get('request')->getSession()->set('utilisateur_role', null);
		
		return $this->render('IUTINFOActionsComBundle:ActionsCom:accueil.html.twig', array(
				'onglet_ouvert'	=> $onglet_ouvert,
		));
	}
}
